helper->action_name,
GTK_ACTION_OBSERVER (helper));
- if (g_action_group_query_action (G_ACTION_GROUP (helper->action_context), helper->action_name,
- &enabled, ¶meter_type, NULL, NULL, &state))
+ if (gtk_action_muxer_query_action (helper->action_context, helper->action_name,
+ &enabled, ¶meter_type,
+ NULL, NULL, &state))
{
GTK_NOTE(ACTIONS, g_message ("%s: action %s existed from the start", "actionhelper", helper->action_name));
gboolean enabled;
GVariant *state;
- if (g_action_group_query_action (G_ACTION_GROUP (helper->action_context),
- helper->action_name, &enabled, ¶meter_type,
- NULL, NULL, &state))
+ if (gtk_action_muxer_query_action (helper->action_context,
+ helper->action_name, &enabled, ¶meter_type,
+ NULL, NULL, &state))
{
gtk_action_helper_action_added (helper, enabled, parameter_type, state, FALSE);
if (!helper->can_activate || helper->reporting)
return;
- g_action_group_activate_action (G_ACTION_GROUP (helper->action_context),
- helper->action_name, helper->target);
+ gtk_action_muxer_activate_action (helper->action_context,
+ helper->action_name,
+ helper->target);
}
if (!is_separator && g_menu_item_get_attribute (self->item, "action", "&s", &action_name))
{
- GActionGroup *group = G_ACTION_GROUP (observable);
+ GtkActionMuxer *muxer = GTK_ACTION_MUXER (observable);
const GVariantType *parameter_type;
GVariant *target;
gboolean enabled;
state = NULL;
gtk_action_observable_register_observer (self->observable, action_name, GTK_ACTION_OBSERVER (self));
- found = g_action_group_query_action (group, action_name, &enabled, ¶meter_type, NULL, NULL, &state);
+ found = gtk_action_muxer_query_action (muxer, action_name, &enabled, ¶meter_type, NULL, NULL, &state);
if (found)
{
action_name = strrchr (self->action_and_target, '|') + 1;
action_target = g_menu_item_get_attribute_value (self->item, G_MENU_ATTRIBUTE_TARGET, NULL);
- g_action_group_activate_action (G_ACTION_GROUP (self->observable), action_name, action_target);
+ gtk_action_muxer_activate_action (GTK_ACTION_MUXER (self->observable), action_name, action_target);
if (action_target)
g_variant_unref (action_target);
static void
gtk_menu_tracker_opener_update (GtkMenuTrackerOpener *opener)
{
- GActionGroup *group = G_ACTION_GROUP (opener->item->observable);
+ GtkActionMuxer *muxer = GTK_ACTION_MUXER (opener->item->observable);
gboolean is_open = TRUE;
+ GVariant *state;
/* We consider the menu as being "open" if the action does not exist
* or if there is another problem (no state, wrong state type, etc.).
* That is handled in _free() below.
*/
- if (g_action_group_has_action (group, opener->submenu_action))
+ if (gtk_action_muxer_query_action (muxer, opener->submenu_action, NULL, NULL, NULL, NULL, &state))
{
- GVariant *state = g_action_group_get_action_state (group, opener->submenu_action);
-
if (state)
{
if (g_variant_is_of_type (state, G_VARIANT_TYPE_BOOLEAN))
if (!is_open || opener->first_time)
{
- g_action_group_change_action_state (group, opener->submenu_action, g_variant_new_boolean (TRUE));
+ gtk_action_muxer_change_action_state (muxer, opener->submenu_action, g_variant_new_boolean (TRUE));
opener->first_time = FALSE;
}
}
{
GtkNamedAction *self = GTK_NAMED_ACTION (action);
const GVariantType *parameter_type;
- GActionGroup *action_group;
+ GtkActionMuxer *muxer;
gboolean enabled;
- action_group = G_ACTION_GROUP (_gtk_widget_get_action_muxer (widget, FALSE));
- if (action_group == NULL)
+ muxer = _gtk_widget_get_action_muxer (widget, FALSE);
+ if (muxer == NULL)
return FALSE;
- if (!g_action_group_query_action (action_group, self->name, &enabled, ¶meter_type, NULL, NULL, NULL))
+ if (!gtk_action_muxer_query_action (muxer, self->name,
+ &enabled, ¶meter_type,
+ NULL, NULL, NULL))
return FALSE;
if (!enabled)
if (!check_parameter_type (args, parameter_type))
return FALSE;
- g_action_group_activate_action (action_group, self->name, args);
+ gtk_action_muxer_activate_action (muxer, self->name, args);
return TRUE;
}
const char *icon_name;
const char *action_name;
GMenuModel *link;
+ gboolean enabled;
link = g_menu_model_get_item_link (model, index, "section");
if (link)
g_variant_unref (att);
muxer = _gtk_widget_get_action_muxer (GTK_WIDGET (self), FALSE);
- if (!g_action_group_get_action_enabled (G_ACTION_GROUP (muxer), action_name))
+ if (!gtk_action_muxer_query_action (muxer, action_name, &enabled,
+ NULL, NULL, NULL, NULL) ||
+ !enabled)
return;
item = gtk_button_new ();
const char *action_name;
GMenuModel *link;
gboolean is_toggle_action = FALSE;
- GActionGroup *group = NULL;
+ GtkActionMuxer *muxer;
gboolean enabled;
const GVariantType *param_type;
const GVariantType *state_type;
action_name = g_variant_get_string (att, NULL);
g_variant_unref (att);
- group = G_ACTION_GROUP (_gtk_widget_get_action_muxer (GTK_WIDGET (text_view), FALSE));
- if (group)
+ muxer = _gtk_widget_get_action_muxer (GTK_WIDGET (text_view), FALSE);
+ if (muxer)
{
- g_action_group_query_action (group, action_name, &enabled, ¶m_type, &state_type, NULL, NULL);
+ gtk_action_muxer_query_action (muxer, action_name, &enabled, ¶m_type, &state_type, NULL, NULL);
if (!enabled)
return;
#include "gtkaccelgroupprivate.h"
#include "gtkaccessible.h"
+#include "gtkactionobserverprivate.h"
#include "gtkapplicationprivate.h"
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
if (muxer == NULL)
return FALSE;
- if (!g_action_group_has_action (G_ACTION_GROUP (muxer), name))
+ if (!gtk_action_muxer_has_action (muxer, name))
return FALSE;
- g_action_group_activate_action (G_ACTION_GROUP (muxer), name, args);
+ gtk_action_muxer_activate_action (muxer, name, args);
return TRUE;
}
#include "gtkwindowhandle.h"
+#include "gtkactionmuxerprivate.h"
#include "gtkbinlayout.h"
#include "gtkbox.h"
#include "gtkbuildable.h"
#include "gtkseparator.h"
#include "gtkwidgetprivate.h"
+
/**
* SECTION:gtkwindowhandle
* @Short_description: A titlebar area widget